Apr 99 Online
Volume Number: 15
Issue Number: 4
Column Tag: MacTech Online
by Jeff Clites <online@mactech.com>
Last month we surveyed the resources you need to learn how AppleEvents and
AppleScript work and how you can put them to good use. This month we are going to
look at some of the tools available to make using them a breeze.
Constructing Your Events
Anyone sending AppleEvents from within their application will want to be familiar
with AEGizmos. This is a code library from Jens Alfke (one of the creators of Apple's
Script Editor) which lets you build and work with complex AE descriptors using a
more intuitive string-based description. It can shorten and clarify your code, and has
the added benefit of being much faster than building your descriptors "by hand",
because it builds them without calls to the Apple Event Manager.
Jens' Software Grab-Bag (AEGizmos)
http://www.mooseyard.com/Jens/Software/
Greg Anderson's develop article on scripting the Finder is useful in its own right, but
most handily the accompanying code contains C++ wrapper classes for working with
AppleEvents. These help hide some of the Toolbox's procedural sins from the innocent
object-oriented programmer (not many, but some).
December 94 - Scripting the Finder from Your Application
http://www.mactech.com/articles/develop/issue_20/20anderson.html
For a completely different approach, check out Marco Piovanelli's Cream Library, a
set of C++ classes that replace Apple's Object Support Library and give you a new way
to approach the Apple Event Object Model (AEOM) by using real C++ objects instead of
OSL tokens.
Cream
http://www.merzwaren.com/cream/index.html
If you want to provide a "Scripts" menu, so that users can run their own scripts from
within your application, check out Joe Strout's ScriptMenu. This public-domain code
makes it trivial to implement, and can even use an icon in place of the menu title.
ScriptMenu
http://www.strout.net/info/coding/macdev/scriptmenu/
Essential Utilities
There are a few utilities which are just essential when working with AppleEvents. The
first is AETracker, by RavenWare Software. It's a control panel which lets you
intercept any or all calls the Apple Event Manager and log them to a file. It can be a life
saver when debugging your own application or when trying to figure out just what is
going on with some other application or script.
RavenWare Software (AETracker)
http://www.ravenware.com/sware/
The second essential is Capture AE by WestCode Software, the makers of the OneClick
utility. Capture AE is similar to AETracker but simpler - it logs just AppleEvents
(calls to AESend) and formats them in AEGizmos form, making them easy to read and
reuse.
OneClick Free Stuff (Capture AE)
http://www.westcodesoft.com/FTP-Buttons.html
AETEGizmo (not to be confused with AEGizmos) is a curious little utility from last
year's MacHack. As an alternative to the above utilities, it can help you figure out what
is going on under the covers of an AppleScript by "stealing" the AppleScript dictionary
from another application. Then, you target the AppleScript toward AETEGizmo instead
of the original application and AETEGizmo returns the AppleEvents as
AEGizmo-formatted strings, which you can view in the Script Editor. Whew! It's a
hack, but it's handy.
1998 Hacks (AETEGizmo)
http://www.machack.com/Hack98.html
Akua Sweets is a package from Gregory Lemperle-Kerr, consisting of a Scripting
Addition with many unusual capabilities and a large number of example scripts to go
along with it. Most interesting, though, is the included script runner Scripple. It's
completely undocumented, but appears to contain a number of interesting debugging
facilities, similar to some of the above-mentioned utilities. It's worth a look, and I
hope the author decides to document it some day. And, it has some fun little cursors....
Akua Sweets
http://hyperarchive.lcs.mit.edu/cgi-bin/NewSearch?key=akua
Last, but not least, remember that AppleScript is yet one more reason for people to
move to the Mac platform - AppleScript is a Mac-only technology, and no other
platform has this sort of pervasive scriptability, where even tiny shareware
applications are scriptable. So dive in - it's worth the effort. These and a horde of
other links are available from the MacTech Online web pages at
http://www.mactech.com/online/.